package tech.xs.sys.service;

import tech.xs.common.framework.service.CrudService;
import tech.xs.sys.domain.bo.permission.ImportExportPermissionBo;
import tech.xs.sys.domain.entity.SysPermission;

import java.util.List;

public interface SysPermissionService extends CrudService<SysPermission> {

    /**
     * 根据权限编码判断权限是否被使用
     *
     * @param permissionCode 权限编码
     * @return 如果已经被使用返回true, 否则返回false
     */
    boolean isUsed(String permissionCode);

    /**
     * 根据权限编码删除权限
     *
     * @param permissionCode 权限编码
     * @author 沈家文
     * @since 2023/8/13 16:27
     */
    void deletePermissionByCode(String permissionCode);

    /**
     * 导入权限
     *
     * @param importDatas 导入权限列表
     * @author 沈家文
     * @since 2023/12/7 13:26
     */
    void importPermission(List<ImportExportPermissionBo> importDatas);

}
